========================================++++====--:.-:..===+++===+***
=------============------------::-------==+===:+:.+=::=-=:-==+++++=+*
::::---======+++++======================++*-=+##=**:-**=-.:=++***=*##
-:::---===++++++++++++++++==+*++=--=--=*#++=*###*#*+*#*+=+**#######**
===+++++-:=+**#####***********+=---===*##+-+###%#####**==-*#######*+#
******==:::-=*#####*##**####************#*+*****##%%#++-::*######***#
###**++***##**#%#######%###******##******************+*****#%%%%#####
####%#######*#######%####********##****************+++**************#
%#########**###########*********#*###***************************#####
%%%%######*####*#*#***#************#####*************#***########***#
#############%#####*************++**################******#*********#
#######*#####***#*********#******#####******************************#
######%%%###***************##******##*******************************#
###*#*******************************#**++***************************#
###***####**************************#*****+++************************
***###*##*****************************#*******+++*******************#
#####****************************++****###******++++++**************#
****#**********************++****=+******##*********++==++**********#
###****************##****++***+++**********##**********+++==++*+*+**#
#*********************************************#***********++++=+++**#
******************#****************************##**************+++=+*
****************##**********++++++++*************###**************++*
%#########%##%%%%%%%%%%%%###################%#####%%%%%%############%